#ifndef __BINARYSORTTREE_H_
#define __BINARYSORTTREE_H_
#define ElementType int

typedef struct BinaryTreeNode
{
    ElementType data;
    struct BinaryTreeNode *left;
    struct BinaryTreeNode *right;
    // struct BinaryTreeNode *parent;
}BTNode;

typedef struct LinkBnaryTree
{
    BTNode *root;
}LBTree;

int InitLBTree(LBTree *tree,ElementType element);//初始化链式二叉树
void InsertNode(LBTree *tree,ElementType element);//插入，小的放左边，大的放右边
void MidTravel(LBTree *tree);//中序遍历
void PrevTravel(LBTree *tree);//前序遍历
void PostTravel(LBTree *tree);//后序遍历
BTNode *SearchElement(LBTree *tree,ElementType element);//寻找与element相匹配的节点并将之返回
// void DeleteElement(LBTree *tree,ElementType element);//删除与element相同的数
void FreeLBTree(LBTree *tree);//二叉数的内存释放

#endif